home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
ab20
/
ab20_archive
/
graphics
/
blankers
/
shadowmaster.lzh
/
source
/
config
/
font-config.c
next >
Wrap
C/C++ Source or Header
|
1991-12-29
|
2KB
|
64 lines
/*
* Config program for use by savers that just need a font selected.
*
* Copyright (c) 1991, Mike Meyer
* All Rights Reserved
*
* See the file "ShadowMaster:Distribution" for information on distribution.
*
* ===build instructions
* % lc font-config ; output= font-config.o input= font-config.c
* % blink font-config.o lib lib:amiga.lib to font-config SC SD ; output= font-config input= font-config.o
* % copy font-config //config
* ===endbuild
*/
#include <exec/types.h>
#include <utility/tagitem.h>
#include <dos/dos.h>
#include <libraries/asl.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/asl.h>
struct ExecBase *SysBase = NULL ;
struct DosLibrary *DOSBase = NULL ;
struct Library *AslBase = NULL ;
#define done(x) do { status = x; goto out; } while (0) ;
int __saveds
start(void) {
int status ;
struct RDArgs *args = NULL ;
struct FontRequester *my_req = NULL ;
long opts[3] = { 0, 0, 0} ;
SysBase = *((struct ExecBase **) 4);
if (!(DOSBase = (struct DosLibrary *) OpenLibrary("dos.library", 37)))
done(RETURN_FAIL) ;
if (!(AslBase = OpenLibrary("asl.library", 37)))
done(RETURN_FAIL) ;
if (!(args = ReadArgs("NAME/A,FONT,SIZE/N", opts, NULL)))
done(RETURN_ERROR) ;
if (!(my_req = AllocAslRequestTags(ASL_FontRequest,
ASL_Hail, (LONG) opts[0],
ASL_LeftEdge, 0, ASL_TopEdge, 11,
ASL_FontName, opts[1] ? ((char *) opts[1]) : "topaz.font",
ASL_FontHeight, opts[2] ? *((long *) opts[2]) : 8,
TAG_DONE, 0)))
done(RETURN_FAIL) ;
if (AslRequest(my_req, NULL))
Printf("%s FONT %s SIZE %ld\n", opts[0],
my_req->fo_Attr.ta_Name, my_req->fo_Attr.ta_YSize) ;
status = RETURN_OK ;
out:
if (my_req) FreeAslRequest(my_req) ;
FreeArgs(args) ;
if (AslBase) CloseLibrary(AslBase) ;
if (DOSBase) CloseLibrary((struct Library *) DOSBase) ;
return status ;
}